package com.gitee.qdbp.general.trade.api.order.main.model;

import com.gitee.qdbp.base.annotation.DataIsolation;
import com.gitee.qdbp.base.annotation.OperateTraces;

/**
 * 订单主更新类
 *
 * @author zhh
 * @version 180626
 */
@OperateTraces(target = "where")
@DataIsolation(target = "where")
public class OrderFormUpdate extends OrderFormBean {

    /** 版本序列号 **/
    private static final long serialVersionUID = 1L;

    /** 商家租户编号是否更新为空值 **/
    private Boolean tenantCodeToNull;

    /** 订单类型(0.捐款订单|1.商品订单)是否更新为空值 **/
    private Boolean orderTypeToNull;

    /** 关联业务ID是否更新为空值 **/
    private Boolean dataIdToNull;

    /** 订单内容(多个商品取总价最高的那个,加等几件)是否更新为空值 **/
    private Boolean orderContentToNull;

    /** 用户ID是否更新为空值 **/
    private Boolean userIdToNull;

    /** 总金额=商品金额-折扣+运费是否更新为空值 **/
    private Boolean totalAmountToNull;
    /** 总金额=商品金额-折扣+运费的增加值 **/
    private Double totalAmountAdd;

    /** 商品金额是否更新为空值 **/
    private Boolean goodsAmountToNull;
    /** 商品金额的增加值 **/
    private Double goodsAmountAdd;

    /** 折扣金额是否更新为空值 **/
    private Boolean discountAmountToNull;
    /** 折扣金额的增加值 **/
    private Double discountAmountAdd;

    /** 运费金额是否更新为空值 **/
    private Boolean freightAmountToNull;
    /** 运费金额的增加值 **/
    private Double freightAmountAdd;

    /** 已支付金额是否更新为空值 **/
    private Boolean paidAmountToNull;
    /** 已支付金额的增加值 **/
    private Double paidAmountAdd;

    /** 商品总件数是否更新为空值 **/
    private Boolean totalQuantityToNull;
    /** 商品总件数的增加值 **/
    private Integer totalQuantityAdd;

    /** 已发货件数是否更新为空值 **/
    private Boolean deliverQuantityToNull;
    /** 已发货件数的增加值 **/
    private Integer deliverQuantityAdd;

    /** 过期时间是否更新为空值 **/
    private Boolean expireTimeToNull;
    /** 过期时间是否更新为数据库当前时间 **/
    private Boolean expireTimeToCurrent;
    /** 过期时间的增加值(单位:秒) **/
    private Long expireTimeAdd;

    /** 订单状态(0.待支付|1.已支付|2.已交付|3.已完成|4.已取消|5.已过期)是否更新为空值 **/
    private Boolean orderStateToNull;

    /** 选项是否更新为空值 **/
    private Boolean optionsToNull;

    /** 查询关键字是否更新为空值 **/
    private Boolean queryKeywordsToNull;

    /** 更新操作的条件 **/
    private OrderFormWhere where;

    /** 判断商家租户编号是否更新为空值 **/
    public Boolean isTenantCodeToNull() {
        return tenantCodeToNull;
    }

    /**
     * 设置商家租户编号是否更新为空值
     *
     * @param tenantCodeToNull 商家租户编号是否更新为空值
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setTenantCodeToNull(Boolean tenantCodeToNull) {
        this.tenantCodeToNull = tenantCodeToNull;
    }

    /** 判断订单类型(0.捐款订单|1.商品订单)是否更新为空值 **/
    public Boolean isOrderTypeToNull() {
        return orderTypeToNull;
    }

    /**
     * 设置订单类型(0.捐款订单|1.商品订单)是否更新为空值
     *
     * @param orderTypeToNull 订单类型(0.捐款订单|1.商品订单)是否更新为空值
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setOrderTypeToNull(Boolean orderTypeToNull) {
        this.orderTypeToNull = orderTypeToNull;
    }

    /** 判断关联业务ID是否更新为空值 **/
    public Boolean isDataIdToNull() {
        return dataIdToNull;
    }

    /** 设置关联业务ID是否更新为空值 **/
    public void setDataIdToNull(Boolean dataIdToNull) {
        this.dataIdToNull = dataIdToNull;
    }

    /** 判断订单内容(多个商品取总价最高的那个,加等几件)是否更新为空值 **/
    public Boolean isOrderContentToNull() {
        return orderContentToNull;
    }

    /**
     * 设置订单内容(多个商品取总价最高的那个,加等几件)是否更新为空值
     *
     * @param orderContentToNull 订单内容(多个商品取总价最高的那个,加等几件)是否更新为空值
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setOrderContentToNull(Boolean orderContentToNull) {
        this.orderContentToNull = orderContentToNull;
    }

    /** 判断用户ID是否更新为空值 **/
    public Boolean isUserIdToNull() {
        return userIdToNull;
    }

    /**
     * 设置用户ID是否更新为空值
     *
     * @param userIdToNull 用户ID是否更新为空值
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setUserIdToNull(Boolean userIdToNull) {
        this.userIdToNull = userIdToNull;
    }

    /** 判断总金额=商品金额-折扣+运费是否更新为空值 **/
    public Boolean isTotalAmountToNull() {
        return totalAmountToNull;
    }

    /**
     * 设置总金额=商品金额-折扣+运费是否更新为空值
     *
     * @param totalAmountToNull 总金额=商品金额-折扣+运费是否更新为空值
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setTotalAmountToNull(Boolean totalAmountToNull) {
        this.totalAmountToNull = totalAmountToNull;
    }

    /** 获取总金额=商品金额-折扣+运费的增加值 **/
    public Double getTotalAmountAdd() {
        return totalAmountAdd;
    }

    /** 设置总金额=商品金额-折扣+运费的增加值 **/
    public void setTotalAmountAdd(Double totalAmountAdd) {
        this.totalAmountAdd = totalAmountAdd;
    }

    /** 判断商品金额是否更新为空值 **/
    public Boolean isGoodsAmountToNull() {
        return goodsAmountToNull;
    }

    /**
     * 设置商品金额是否更新为空值
     *
     * @param goodsAmountToNull 商品金额是否更新为空值
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setGoodsAmountToNull(Boolean goodsAmountToNull) {
        this.goodsAmountToNull = goodsAmountToNull;
    }

    /** 获取商品金额的增加值 **/
    public Double getGoodsAmountAdd() {
        return goodsAmountAdd;
    }

    /** 设置商品金额的增加值 **/
    public void setGoodsAmountAdd(Double goodsAmountAdd) {
        this.goodsAmountAdd = goodsAmountAdd;
    }

    /** 判断折扣金额是否更新为空值 **/
    public Boolean isDiscountAmountToNull() {
        return discountAmountToNull;
    }

    /**
     * 设置折扣金额是否更新为空值
     *
     * @param discountAmountToNull 折扣金额是否更新为空值
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setDiscountAmountToNull(Boolean discountAmountToNull) {
        this.discountAmountToNull = discountAmountToNull;
    }

    /** 获取折扣金额的增加值 **/
    public Double getDiscountAmountAdd() {
        return discountAmountAdd;
    }

    /** 设置折扣金额的增加值 **/
    public void setDiscountAmountAdd(Double discountAmountAdd) {
        this.discountAmountAdd = discountAmountAdd;
    }

    /** 判断运费金额是否更新为空值 **/
    public Boolean isFreightAmountToNull() {
        return freightAmountToNull;
    }

    /**
     * 设置运费金额是否更新为空值
     *
     * @param freightAmountToNull 运费金额是否更新为空值
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setFreightAmountToNull(Boolean freightAmountToNull) {
        this.freightAmountToNull = freightAmountToNull;
    }

    /** 获取运费金额的增加值 **/
    public Double getFreightAmountAdd() {
        return freightAmountAdd;
    }

    /** 设置运费金额的增加值 **/
    public void setFreightAmountAdd(Double freightAmountAdd) {
        this.freightAmountAdd = freightAmountAdd;
    }

    /** 判断已支付金额是否更新为空值 **/
    public Boolean isPaidAmountToNull() {
        return paidAmountToNull;
    }

    /**
     * 设置已支付金额是否更新为空值
     *
     * @param paidAmountToNull 已支付金额是否更新为空值
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setPaidAmountToNull(Boolean paidAmountToNull) {
        this.paidAmountToNull = paidAmountToNull;
    }

    /** 获取已支付金额的增加值 **/
    public Double getPaidAmountAdd() {
        return paidAmountAdd;
    }

    /** 设置已支付金额的增加值 **/
    public void setPaidAmountAdd(Double paidAmountAdd) {
        this.paidAmountAdd = paidAmountAdd;
    }

    /** 判断商品总件数是否更新为空值 **/
    public Boolean isTotalQuantityToNull() {
        return totalQuantityToNull;
    }

    /**
     * 设置商品总件数是否更新为空值
     *
     * @param totalQuantityToNull 商品总件数是否更新为空值
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setTotalQuantityToNull(Boolean totalQuantityToNull) {
        this.totalQuantityToNull = totalQuantityToNull;
    }

    /** 获取商品总件数的增加值 **/
    public Integer getTotalQuantityAdd() {
        return totalQuantityAdd;
    }

    /** 设置商品总件数的增加值 **/
    public void setTotalQuantityAdd(Integer totalQuantityAdd) {
        this.totalQuantityAdd = totalQuantityAdd;
    }

    /** 判断已发货件数是否更新为空值 **/
    public Boolean isDeliverQuantityToNull() {
        return deliverQuantityToNull;
    }

    /**
     * 设置已发货件数是否更新为空值
     *
     * @param deliverQuantityToNull 已发货件数是否更新为空值
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setDeliverQuantityToNull(Boolean deliverQuantityToNull) {
        this.deliverQuantityToNull = deliverQuantityToNull;
    }

    /** 获取已发货件数的增加值 **/
    public Integer getDeliverQuantityAdd() {
        return deliverQuantityAdd;
    }

    /** 设置已发货件数的增加值 **/
    public void setDeliverQuantityAdd(Integer deliverQuantityAdd) {
        this.deliverQuantityAdd = deliverQuantityAdd;
    }

    /** 判断过期时间是否更新为空值 **/
    public Boolean isExpireTimeToNull() {
        return expireTimeToNull;
    }

    /** 设置过期时间是否更新为空值 **/
    public void setExpireTimeToNull(Boolean expireTimeToNull) {
        this.expireTimeToNull = expireTimeToNull;
    }

    /** 判断过期时间是否更新为数据库当前时间 **/
    public Boolean isExpireTimeToCurrent() {
        return expireTimeToCurrent;
    }

    /** 设置过期时间是否更新为数据库当前时间 **/
    public void setExpireTimeToCurrent(Boolean expireTimeToCurrent) {
        this.expireTimeToCurrent = expireTimeToCurrent;
    }

    /** 获取过期时间的增加值(单位:秒) **/
    public Long getExpireTimeAdd() {
        return expireTimeAdd;
    }

    /** 设置过期时间的增加值(单位:秒) **/
    public void setExpireTimeAdd(Long expireTimeAdd) {
        this.expireTimeAdd = expireTimeAdd;
    }

    /** 判断订单状态(0.待支付|1.已支付|2.已交付|3.已完成|4.已取消|5.已过期)是否更新为空值 **/
    public Boolean isOrderStateToNull() {
        return orderStateToNull;
    }

    /**
     * 设置订单状态(0.待支付|1.已支付|2.已交付|3.已完成|4.已取消|5.已过期)是否更新为空值
     *
     * @param orderStateToNull 订单状态(0.待支付|1.已支付|2.已交付|3.已完成|4.已取消|5.已过期)是否更新为空值
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setOrderStateToNull(Boolean orderStateToNull) {
        this.orderStateToNull = orderStateToNull;
    }

    /** 判断选项是否更新为空值 **/
    public Boolean isOptionsToNull() {
        return optionsToNull;
    }

    /** 设置选项是否更新为空值 **/
    public void setOptionsToNull(Boolean optionsToNull) {
        this.optionsToNull = optionsToNull;
    }

    /** 判断查询关键字是否更新为空值 **/
    public Boolean isQueryKeywordsToNull() {
        return queryKeywordsToNull;
    }

    /** 设置查询关键字是否更新为空值 **/
    public void setQueryKeywordsToNull(Boolean queryKeywordsToNull) {
        this.queryKeywordsToNull = queryKeywordsToNull;
    }

    /** 获取更新操作的条件 **/
    public OrderFormWhere getWhere() {
        return where;
    }

    /** 获取更新操作的条件, force=是否强制返回非空条件 **/
    public OrderFormWhere getWhere(boolean force) {
        if (where == null && force) {
            where = new OrderFormWhere();
        }
        return where;
    }

    /** 设置更新操作的条件 **/
    public void setWhere(OrderFormWhere where) {
        this.where = where;
    }
}